| @@ -373,6 +373,7 @@ def consumer_info_api(request): | ||
| 373 | 373 | 'brand_id': log.brand_id, | 
| 374 | 374 | 'lat': log.lat, | 
| 375 | 375 | 'lon': log.lon, | 
| 376 | + 'phone': log.phone, | |
| 376 | 377 | 'ymd': ymd, | 
| 377 | 378 | }) | 
| 378 | 379 |  | 
| @@ -1,5 +1,6 @@ | ||
| 1 | 1 | # -*- coding: utf-8 -*- | 
| 2 | 2 |  | 
| 3 | +import json | |
| 3 | 4 | import logging | 
| 4 | 5 |  | 
| 5 | 6 | import requests | 
| @@ -26,6 +27,7 @@ class Command(CompatibilityBaseCommand): | ||
| 26 | 27 | # 'brand_id': 'brand_id', | 
| 27 | 28 | # 'lat': .0, | 
| 28 | 29 | # 'lon': .0, | 
| 30 | + # 'phone': '18888888888', | |
| 29 | 31 | # 'ymd': '20121212', | 
| 30 | 32 | # }) | 
| 31 | 33 | k, v = r.blpopjson(MINI_PROGRAM_GIS_LIST, 60) | 
| @@ -50,6 +52,20 @@ class Command(CompatibilityBaseCommand): | ||
| 50 | 52 |  | 
| 51 | 53 | province_code = ProvinceModelMixin.PROVINCE_NAME_CODE_DICT.get(zh1) | 
| 52 | 54 |  | 
| 55 | + # 手机归属地 | |
| 56 | + if not province_code: | |
| 57 | + try: | |
| 58 | +                            phoneinfo = requests.get(settings.PHONE_2_ADMINISTRATIVE_DIVISION.format(v.get('phone', 0))) | |
| 59 | + except Exception as e: | |
| 60 | + logger.info(e.message) | |
| 61 | + continue | |
| 62 | + try: | |
| 63 | +                            province_name = json.loads(phoneinfo.content.split('(')[-1][:-1])['data']['area'] | |
| 64 | + except Exception as e: | |
| 65 | + logger.info(e.message) | |
| 66 | + continue | |
| 67 | + province_code = ProvinceShortModelMixin.PROVINCE_NAME_CODE_DICT.get(province_name) | |
| 68 | + | |
| 53 | 69 | if not province_code: | 
| 54 | 70 | continue | 
| 55 | 71 |  | 
| @@ -393,6 +393,7 @@ KODO_CLERK_AUTH_URL = 'http://pai.ai/w/o?r=http%3A%2F%2Fkodo.xfoto.com.cn%2Fp%2F | ||
| 393 | 393 |  | 
| 394 | 394 | # 经纬度 | 
| 395 | 395 |  GIS_2_ADMINISTRATIVE_DIVISION = 'http://116.196.105.215:1234/gis?auth_user=freevip&latitude={0}&longitude={1}' | 
| 396 | +PHONE_2_ADMINISTRATIVE_DIVISION = 'https://www.baifubao.com/callback?cmd=1059&callback=phone&phone={0}' | |
| 396 | 397 |  | 
| 397 | 398 | try: | 
| 398 | 399 | from local_settings import * | 
| @@ -288,5 +288,6 @@ def refreshs(): | ||
| 288 | 288 | 'brand_id': log.brand_id, | 
| 289 | 289 | 'lat': log.lat, | 
| 290 | 290 | 'lon': log.lon, | 
| 291 | + 'phone': log.phone, | |
| 291 | 292 | 'ymd': tc.local_string(tc.to_local_datetime(log.created_at), format='%Y%m%d'), | 
| 292 | 293 | }) |